home *** CD-ROM | disk | FTP | other *** search
- /* From jason@uucp.aeras */
-
- #include "wand_head.h"
-
- char *help[]={
- " ** W A N D E R E R ** ", /* 0 */
- " =========================== ", /* 1 */
- " by Steven Shipway ", /* 2 */
- "How to play: ", /* 3 */
- " Collect all the treasure: /$\\ ", /* 4 */
- " \\$/ ", /* 5 */
- " Then go through the exit: Way ", /* 6 */
- " out ", /* 7 */
- " h Left j Down ", /* 8 */
- " k Up l Right ", /* 9 */
- #ifdef NOISY
- " 1 Loud q Quit game ", /* 10 */
- " 0 Quiet ! Look at map ", /* 11 */
- " S Save game R Restore Game ", /* 12 */
- " ? Help mode @ Center screen ", /* 13 */
- " ~ Jump level # Switch mode ", /* 14 */
- " r restart W,^L Redraw screen ", /* 15 */
- #else
- " q Quit game ! Look at map ", /* 10 */
- " S Save game R Restore Game ", /* 11 */
- " ? Help mode @ Center screen ", /* 12 */
- " # Other mode W,^L Redraw screen ", /* 13 */
- " ~ Jump level r Restart level ", /* 14 */
- " (,),&,+,-,* record/play path ", /* 15 */
- #endif
- " ", /* 0 */
- " Recording Solution Path ", /* 1 */
- " ( Start recording ", /* 2 */
- " ) Stop recording ", /* 3 */
- " - Place check point ", /* 4 */
- " * Playback solution path ", /* 5 */
- " + Continue playing from ", /* 6 */
- " check point. ", /* 7 */
- " & Continue recording from here ", /* 8 */
- " ", /* 9 */
- " The speed of the playback can be ", /* 10 */
- " adjusted with the > and < keys. ", /* 11 */
- " ", /* 12 */
- " CNTL-W write to file ", /* 13 */
- " CNTL-R read from file ", /* 14 */
- " ", /* 15 */
-
-
-
- "This is you: You are a spider. ", /* 0 */
- " o (At least, that's ", /* 1 */
- " <|> what you look like) ", /* 2 */
- " ", /* 3 */
- "The other items you will find are: ", /* 4 */
- " ", /* 5 */
- " ### -=- Solid Rock. The first", /* 6 */
- " ### and =-= cannot be blown up. ", /* 7 */
- " ", /* 8 */
- " <O> Time capsule (5 points, ", /* 9 */
- " +250 extra moves) ", /* 10 */
- " . ", /* 11 */
- " . . Passable earth (one point) ", /* 12 */
- " ", /* 13 */
- " (*) Teleport (50 points for ", /* 14 */
- " (*) using it) ", /* 15 */
-
- " /^\\ Boulder (falls down, other ", /* 0 */
- " \\_/ boulders and arrows fall ", /* 1 */
- " off of it) ", /* 2 */
- " ", /* 3 */
- " <-- --> Arrows ", /* 4 */
- " <-- and --> (run left and right)", /* 5 */
- " ", /* 6 */
- " TTT Cage - holds baby monsters ", /* 7 */
- " III and changes into diamonds ", /* 8 */
- " ", /* 9 */
- " /$\\ (10 points) ", /* 0 */
- " \\$/ Money (collect it) ", /* 1 */
- " ", /* 2 */
- " -o- Baby monster (kills you) ", /* 3 */
- " /*\\ ", /* 4 */
- " ", /* 5 */
-
- "When a baby monster hits a cage it ", /* 0 */
- "is captured and you get 50 points. ", /* 1 */
- "The cage also becomes a diamond. ", /* 2 */
- " ", /* 3 */
- " I Instant annihilation ", /* 4 */
- " o ", /* 5 */
- " ", /* 6 */
- " \\_ _/ Slopes (boulders ", /* 7 */
- " \\ and / and etc slide off) ", /* 8 */
- " ", /* 9 */
- " }o{ Monster (eats you up whole. ", /* 0 */
- " /^\\ Yum Yum yum..) (100 points) ", /* 1 */
- " (kill with a rock or arrow) ", /* 2 */
- " ", /* 3 */
- " Way Exit -- Must collect all the ", /* 4 */
- " out treasure first. (250 bonus) ", /* 5 */
-
- " /~\\ Balloon -- rises, and is ", /* 0 */
- " \\_X popped by arrows. It does ", /* 1 */
- " *not* kill you. ", /* 2 */
- " ", /* 3*/
- " OOO Unrecognised symbol in map. ", /* 4*/
- " OOO This is probably a **bug** ! ", /* 5*/
- " ", /* 6 */
- " \\|/ 'Thingy' - can be pushed in ", /* 7 */
- " /|\\ any direction by you or by ", /* 8 */
- " arrows/boulders/balloons ", /* 9 */
- " ", /* 0 */
- " _|_ Another wall character, for ", /* 1 */
- " _|_ more variety to the game ", /* 2 */
- " ", /* 3 */
- " /\\* Bomb - explodes when hit by ", /* 4 */
- " \\/ arrow/boulder. Destroys area. ", /* 5 */
-
- " SCORING: ", /* 0 */
- " Score 1 for earth, 10 for money", /* 1 */
- " 5 for capsule, 20 for teleporting ", /* 2 */
- " 100 for killing monster, 20 for ", /* 3 */
- " catching baby monster, 250 for ", /* 4 */
- " escaping with all the money. ", /* 5 */
- " ", /* 6 */
- " In MAP mode using # or ! command ", /* 7 */
- " O Boulder < > Arrows ", /* 8 */
- " ^ Balloon : Earth ", /* 9 */
- " ! Landmine * Treasure ", /*10 */
- " / \\ Deflectors + Cage ", /*11 */
- "_ = # Rock (# indestructable) ", /*12 */
- " T Teleport A Arrival ", /*13 */
- " X Exit @ Start ", /*14 */
- " M Big Monster S Baby Monster ", /*15 */
-
-
- " C Time Capsule ~ Thingy ", /* 0 */
- " B Bomb ", /* 1 */
- " ", /* 2 */
- " The speed of the animation ", /* 3 */
- " can be changed using m,n keys. ", /* 4 */
- " ", /* 5 */
- " ENVIRONMENT VARIABLES: ", /* 6 */
- " ", /* 7 */
- " NEWNAME,NAME : Checked in that ", /* 8 */
- " order for the hiscore table ", /* 9 */
- " NEWKEYS : Redefine movement keys", /*10 */
- " eg- 'hlkj' for default ", /*11 */
- " SAVENAME : File used for saved ", /*12 */
- " games. ", /*13 */
- " ", /*14 */
- " ", /*15 */
-
-
- " ",
- " Options: ",
- " ",
- " -t (file) : test screen ",
- " -e (file) : edit screen ",
- " -c : show credits file ",
- " -v : show version number ",
- " -m : edit hiscore file ",
- " -s : show hiscore file ",
- " -k string : define keys ",
- " -f : full-screen mode ",
- #ifdef NOISY
- " -1 and -0 : start wil bell on/off",
- #else
- " ",
- #endif
- " ",
- " *** Thanks to everyone who helped ",
- " with the beta testing! ",
- " ",
- NULL };
-
- char *edhelp[] = {
- " The Keys: ",
- " ",
- " n: play game with full screen ",
- " p: play with normal screen ",
- " c: change screen name ",
- " m: change moves allowance ",
- " ",
- " \": next character is literal ",
- " L: check screen legality ",
- " q: quit, saving screen ",
- " x: exit, do not save screen ",
- " CTRL-R: read moves memory ",
- " CTRL-W: write moves memory ",
- " CTRL-L: redraw screen ",
- " CTRL-G: read screen file (get) ",
- " CTRL-P: write screen file (put) ",
-
- " THE WANDERER SCREEN EDITOR HELP ",
- " ------------------------------- ",
- " ",
- " The editor has a number of ",
- " special features. The main ones ",
- " are summarised at the bottom of ",
- " the screen, but there are also ",
- " a few more advanced features. ",
- " These are described on the next ",
- " page. ",
- " ",
- " When playing a screen, you will ",
- " not die (usually) but will instead",
- " be given the option of continuing ",
- " the game from where you died. ",
- " ",
-
- " L: check legality ",
- " ",
- " The legality checker can also be ",
- " called via the -t option. Any ",
- " minor errors - ie ones the game ",
- " can survive - are prefixed with ",
- " '+++' and any major (fatal) errors",
- " are prefixed '***'. A screen ",
- " should have no errors. ",
- " ",
- " ",
- " CTRL-W, CTRL-R: moves memory ",
- " ",
- " When playing the game you have ",
- " the ability to record your moves, ",
- " and to play them back again. ",
-
- " You can save this memory to a ",
- " text file, or load from a suitable",
- " file, using these keys. When ",
- " playing the game, press '(' to ",
- " start recording and ')' to end. ",
- " Also, pressing '-' will introduce ",
- " a checkpoint. ",
- " Press '*' to playback the moves ",
- " from the beginning. The playback ",
- " will stop at the end, or at a ",
- " checkpoint. Press '+' to continue ",
- " from a checkpoint. ",
- " Pressing '&' will start recording",
- " from the current position - this ",
- " will either extend the memory, ",
- " or, if used when playback has ",
-
- " stopped at a checkpoint, it will ",
- " overwrite any following data. ",
- " ",
- " The memory is a maximum of 1024 ",
- " bytes (this can be changed in the ",
- " wand_head.h file). ",
- " ",
- " ",
- " CTRL-G and CTRL-P: get and put ",
- " ",
- " These will read and write the ",
- " screen data. As with the memory ",
- " functions, a file name is prompted",
- " for. Pressing return will use the ",
- " default provided. ",
- " ",
-
- NULL };
-
- extern WINDOW *win;
-
- void
- helpme(htype) /* routine to show help menu. */
- int htype; /* 0 == editor */
- {
- int i = 0, i2 = 0; /* loop counters */
- char *ptr; /* pointer in array.. */
- char ch;
- char **helplist;
-
- if (htype)
- helplist = help;
- else
- helplist = edhelp;
-
- /* clear board - fullscreen mode is too big to overlay */
- for (i = 0; i < 18; i++) {
- wmove(win,i,0);
- waddstr(win," ");
- }
-
- while (helplist[i2]) { /* times to show loop. */
- for (i = 0; i < 16; i++) { /* show one menu. */
- ptr = helplist[i2++];
- wmove(win,i,0); /* move to start of line. */
- waddstr(win,ptr);
- }
- wmove(win,i,0); /* move to start of line. */
- #ifdef TVI
- waddstr(win,TVI);
- #else
- wstandout(win);
- #endif
- if (helplist[i2])
- waddstr(win,"Press any key to continue, q to exit");
- else
- waddstr(win,"End of help. Press any key to exit ");
- #ifdef NOTVI
- addstr(NOTVI);
- #else
- wstandend(win);
- #endif
- wrefresh(win); /* show on screen. */
- ch = (char) wgetch(win); /* just for now, get anything. */
- if (ch == 'q') /* if return or what ever.. */
- break; /* exit routine now. */
- }
- wmove(win,i,0); /* move to start of line. */
- waddstr(win," ");
- }
-